﻿using System;
using Abot.Core;
using Abot.Poco;
using Crawler.Domain;

namespace Crawler.Abot.Configurations
{
	internal abstract class Configurator : IConfigurator
	{
		public abstract  TorrentSource ForType { get; }
		public ICrawlDecisionMaker DecisionMaker { get { return null; } }
		public IThreadManager ThreadManager { get{ return null; } }
		public IScheduler Scheduler { get{ return null; } }
		public IPageRequester HttpRequester { get{ return null; } }
		public IHyperLinkParser HyperLinkParser { get{ return null; } }
		public IMemoryManager MemoryManager { get{ return null; } }
		public IDomainRateLimiter DomainRateLimiter { get{ return null; } }
		public IRobotsDotTextFinder RobotsDotTextFinder { get{ return null; } }
		public abstract Uri RootUri { get; }
		public abstract CrawlConfiguration BuildConfiguration();
	}
}